flowchart LR qmd --> J([Jupyter]) qmd --> K([knitr]) J --> md K --> md md --> P([pandoc]) P --> pdf P --> html P --> docx
Más cosas con Quarto
(Web del curso aquí)
Con Quarto se pueden hacer muu:scream_cat:uuchas más cosas!!!
Veamos algunas de ellas
6.1 Subir nuestra web a la UV
Una vez hemos generado nuestra web en local con Quarto nos queda subirla a Internet. La documentación oficial de Quarto está aquí
Hay muchos servicios de alojamiento, por ejemplo.
. . .
- Pero … nosotros tenemos un espacio en la web de la UV, así que …
Práctica: Subir nuestra web
. . .
- Perfecto!!, pero, imagina que te vas a un congreso y quieres subir unas slides para poder hacer la presentación desde la web. ¿Cómo lo haces?
6.2 Gestión de bibliografia
- Imagina que en uno de nuestros post queremos incorporar referencias bibliográficas y además referenciarlas en el cuerpo del artículo ¿te suena, no?
. . .
Además,
no queremos tener que copiar a mano las referencias y
tampoco queremos tener que cambiar el formato 😱😱 de las referencias si es que decidimos cambiar de revista
. . .
¿Cómo lo hacemos?
- Os lo cuento en este post, y vamos a practicarlo con una tarea
Práctica: Gestión de bibliografía
- Para ello, vamos a utilizar el archivo:
Qproject_eurovision/tareas/tarea_6.2_biblio.qmd
. . .
6.3 Generar el mismo documento en múltiples formatos
- Sí, una de las múltiples ventajas de Quarto es que, con un mismo documento
.qmd(o documento fuente) podemos generar documentos en múltiples formatos. Por ejemplo,.html,.docx,.pdf,.epubetc.
. . .
Múltiples formatos (más posibilidades)
. . .
Práctica: Documentos con varios formatos
Ejercicios interactivos
- Hay varios paquetes como learnr que permiten incorporar ejercicios interactivos a documentos
.htmlgenerados con Quarto, pero …
. . .
o alojados en un servidor shiny
. . .
El paquete webexercises soluciona ese problema ya que genera “standalone HTML files that require only a JavaScript-enabled browser”.
El objetivo de webexercises es:
To enable instructors to easily create interactive web pages that students can use in self-guided learning
Práctica: Ejercicios interactivos con webexercises
6.5 Incorporar tablas
- A veces veces tenemos unos datos, o un listado de algo como: tareas, estudiantes, calendario etc… en un fichero Excel, o Google Sheet, que queremos incorporar a nuestros documentos, ¿Cómo lo hacemos?
. . .
- Si tenemos los datos en el fichero
datos/matriculados.xlsxsolo habría que:
. . .
6.5 Un poco más de tablas
. . .
¿Cómo hacer tablas más chulas?
- En este post explica en detalle cómo se pueden hacer tablas muy chulas con R
. . .
Tablas estadísticas
Muchas veces hay que presentar los resultados de contrastes o de la estimación de modelos estadísticos. En estos casos, las tablas son una herramienta muy útil para presentar los resultados de una manera clara y concisa.
Vamos a profundizar en ello con este post del blog
Journal articles
El curso se ha centrado en la realización de documentos
.htmlpero desde Quarto se pueden generar documentos en múltiples formatos.Además, disponemos de plantillas para generar, directamente desde Quarto, documentos en el formato adecuado para un conjunto de Journals. Puedes ver el listado de Journals aquí y aquí
En Rmarkdown tenemos el paquete rticles con plantillas para generar documentos de un conjunto amplio de Journals
Con Quarto AÚN se pueden hacer muu:scream_cat:uuchas más cosas!!
Veamos algunas de ellas
Diagramas (con Mermaid y Graphviz)
- Quarto permite hacer diagramas con Mermaid y Graphviz. Lo que, según la documentación oficial, posibilita la creación de flowcharts, sequence diagrams, state diagrams, Gantt charts, and more usando una sintaxis (de texto) similar a Markdown.
. . .
- Un ejemplo:
El código
El resultado:
Diagramas (con Mermaid y Graphviz)
- Otro ejemplo
Código
gantt dateFormat YYYY-MM-DD title Adding GANTT diagram to mermaid excludes weekdays 2014-01-10 section A section Completed task :done, des1, 2014-01-06,2014-01-08 Active task :active, des2, 2014-01-09, 3d Future task : des3, after des2, 5d Future task2 : des4, after des3, 5d
Countdown
- Incluir un reloj para hacer cuentas atrás cuando pones un ejercicio a resolver en clase. Documentación aquí
Crear un glosario de términos
- El paquete glossary permite crear un glosario de términos al final de un documento
.htmly referenciar términos del glosario en el texto.
. . .
- ¿Cómo? No he llegado a probarlo pero básicamente tienes que
.yml,glossary_path()
. . .
- Para añadir un término al glosario:
. . .
- Para referenciar palabras del glosario en el texto, se hace algo como:
Se considera a
glossary::glossary("Ishi")el último nativo de la California septentrional que vivió fuera de la influencia de la cultura occidental. Su historia se popularizó a raíz de un libro de Theodora Kroeber, madre de Ursula K. Le Guin.
. . .
- Además, puedes definir el estilo del glosario con
glossary_style(). Por ejemplo:
Crear botones de descarga
- Se trata de crear unos botoncitos (chulos!!) en nuestra web que sirvan para descargarse los documentos (o recursos) que queramos
. . .
Vamos a probar a hacer estos botones con la extensión downloadthis.
Para ello vamos a usar la documentación de la extensión y este post del blog del curso.
Extensiones
En el curso se habla de las extensiones. En las slides nº5, concretamente aquí y en este post y en este otro
Aquí un post que cuenta como hacer extensiones
. . .
- Por ejemplo podemos probar a usar la extensión fontawesome.
. . .
Algunas extensiones chulas:
code-fullscreen: permite que al pinchar en un bloque de código, este pase a estar a pantalla completa
nustshell: permite crear “expandable explanations”. Lo mejor es pinchar y ver los ejemplos
collapse-social-embeds: permite crear 6 tipos de nuevos callouts para social contents (Github gist, Twitter tweets, Mastodon toots, y vídeos de Loom, Vimeo y Youtube). Puedes ver un ejemplo aquí. Seguramente acabaré usándolo en el curso!!
downloadthis: permite crear botones de descargar muy chulos. Ya la hemos usado
pointer y quarto-spotlight: 2 extensiones para iluminar/agrandar el puntero del ratón en revealjs slides
line-highlight: similar a
code-line-numberspero ahora es para documentos html, no para RevealJs slideswebR: permite to run R code in the browser without the need for an R server to execute the code!!
Sverto: permite incorporar Svelte components that can seamlessly react to your ObservableJS code!!!
quarto-animate: permite crear unas animaciones muy “aparatosas”. Puedes ver un ejemplo aquí
Curriculums con Quarto
Desde Quarto se pueden hacer curriculums. Por ejemplo:
. . .
Plantilla para crear CV con Quarto: quarto-cv
Otra plantilla para hacer CV’s, de
@BeaMilz: el código y el resultadoTengo el CV en un
.docx¿puedo pasarlo a Quarto? Sí, aquí la explicación. Aconsejan pasarlo primero a Google doc’s
. . .
CV’s con .Rmd
Un currículum con pagedown::html_resume.
Curriculum con datadrivencv package
Posters con Quarto
- Yo aún no he visto que se pueda, pero la gente esta esperando poder hacer posters con Quarto
. . .
- Con
.Rmdhabían varios paquetes para hacer posters, por ejemplo con posterdown o con pagedown::poster_relaxed.
Más formatos con .Rmd
- Business cards con pagedown::business_card
- “Cuadros de mando” con flexdashboard: tienes algunos ejemplos aquí. Permite distintos layouts, incluidos los storyboards, por ejemplo este
- Formatos posibles gracias al paquete rmdformats
Trucos CSS y SASS
- En el improbable caso de que tengamos tiempo, veremos algunos trucos para tunear algunos aspectos de nuestros documentos y web/blog
- Lo haríamos con este post del blog de “truqillos” del curso
AÚN :scream_cat: más cosas!!!
Ejemplos que se me han quedado en el tintero (quizás para otra edición)
Informes parametrizados
- un ejemplo con notas y quizás mandarlo por mail
- o con datos de inflación de varios países: https://datageeek.com/2023/03/16/food-inflation-interactive-chart-with-ggiraph/
Runing Stata in Quarto documents
Tampoco lo he probado, entre otras cosas porque no tengo Stata instalado, pero :
. . .
- Podemos correr código de Stata en Quarto document: aquí se explica cómo usando un paquete de Phyton,
pystata.
- Stata Facade: una extensión de Quarto that hides the evidence of faking Stata dynamic content with Python code blocks and Stata cell magic.
- También se puede con R: Statamarkdown y RStata
Runing SPSS in Quarto documents
No he visto que sea posible correr SPSS code dentro de R, pero para que tenemos R GUI’s. Otra comparación de GUI’s. Un post sobre Jamovi
. . .
Shiny en Quarto
Queries to bibliographc databases
openalexR: “helps you interface with the OpenAlex API to retrieve bibliographic infomation about publications, authors, venues, institutions and concepts”
rscielo: “offers functions to easily scrape bibliometric information from scientific journals and articles hosted on the Scileo Platform
JCRImpactFactor: “JCRImpactFactor: Journal Citation Reports (‘JCR’) Impact Factor by Clarivate Analytics”
Bibliometrix: “bibliometrix package provides a set of tools for quantitative research in bibliometrics and scientometrics”
RISmed: A set of tools to extract bibliographic content from the National Center for Biotechnology Information (NCBI) databases, including PubMed.
Trabajando con documentos WORD
- officedown: facilita el formateo de informe de Word desde R. Aquí un libro y dos posts: aquí, otro aquí
- officer: The officer package lets R users manipulate Word (.docx) and PowerPoint (*.pptx) documents. In short, one can add images, tables and text into documents from R.
- docxtractr: Extract Data Tables and Comments from Microsoft Word Documents. Aquí un post sobre su uso.
Plantillas/cosas de pdf’s
Plantilla para compact pdf
Nicola Rennie te dice cómo hacer pdfs parámetrizados: aquí
Quarto YouTube Playlist
Title Pages templates for adding a cover page to your Quarto pdf books. Un ejemplo
Great looking pdf with pagedown: vídeo aquí
- Muchísimas más en Quarto awesome
Otras plantillas
Un instituto de física: https://github.com/sebdunnett/quarto-iop
Ejemplitos (de copiar y hacer)
Slides chulas pero sencillas de Mine. El repo aquí
Un ejemplo de slides chulas: Intro to Quarto, el repo aquí.
Un póster con posterdown o con pagedown::poster_relaxed.
Business cards con pagedown::business_card
“Cuadros de mando” con flexdashboard: tienes algunos ejemplos aquí. Permite distintos layouts, incluidos los storyboards, por ejemplo este
Formatos posibles gracias al paquete rmdformats